package com.marvels.common.constants;

/**
 * 系统常量
 * @author wangliang
 *
 */
public class MarvelsConstant {
	private MarvelsConstant(){
		//do nothing
	}
	//系统用户
	public static final String USER = "user";
	//请求/响应的报文类型
	public static final String CONTENT_TYPE_JSON = "application/json;charset=UTF-8";
	//用户请求IP
	public static final String USER_IP ="userIp";
	
	public static final String THREAD_UUID_KEY = "thread_uuid";
	public static final String REQUEST_URL_KEY = "request_url";
	
	//数据库基表字段名
	public static final String COLUMN_NAME_CODE ="code";
	public static final String COLUMN_NAME_NAME ="name";
	public static final String COLUMN_NAME_TYPE ="type";
	//数据库基表表名
	public static final String TABLE_NAME_MCLA_PURPOSE_INFO ="mcla_purpose_info";
	public static final String TABLE_NAME_MCLA_PAYMENT_MODE_INFO ="mcla_payment_mode_info";
	public static final String TABLE_NAME_MCLA_LIFE_INSURANCE_TYPE_INFO ="mcla_life_insurance_type_info";
	public static final String TABLE_NAME_MCLA_INSURANCE_TYPE_INFO ="mcla_insurance_type_info";
	public static final String TABLE_NAME_MCLA_INSURANCE_STATUS_INFO ="mcla_insurance_status_info";
	public static final String TABLE_NAME_MCLA_INSURANCE_COMPANY_INFO ="mcla_insurance_company_info";
	public static final String TABLE_NAME_MCLA_EMPLOY_TYPE_INFO ="mcla_employ_type_info";
	public static final String TABLE_NAME_MCLA_MARITAL_STATUS_INFO ="mcla_marital_status_info";
	public static final String TABLE_NAME_MCLA_EDUCATION_LEVEL_INFO ="mcla_education_level_info";
	public static final String TABLE_NAME_MCLA_LIVE_TYPE_INFO ="mcla_live_type_info";
	public static final String TABLE_NAME_MCLA_PROVINCE_INFO ="mcla_province_info";
	public static final String TABLE_NAME_MCLA_CITY_INFO ="mcla_city_info";
	public static final String TABLE_NAME_MCLA_REGION_INFO ="mcla_region_info";
	public static final String TABLE_NAME_MCLA_COMPANY_TYPE_INFO ="mcla_company_type_info";
	public static final String TABLE_NAME_MCLA_WORK_TIME_TYPE_INFO ="mcla_work_time_type_info";
	public static final String TABLE_NAME_MCLA_INCOME_TYPE_INFO ="mcla_income_type_info";
	public static final String TABLE_NAME_MCLA_RELATION_INFO ="mcla_relation_info";
	public static final String TABLE_NAME_MCLA_RELATION_OTHER_INFO ="mcla_relation_other_info";
	public static final String TABLE_NAME_MCLA_PHONE_CHK_RESULT_INFO ="mcla_phone_chk_result_info";
	public static final String TABLE_NAME_MCLA_ENTERPRISE_SCALE_TYPE_INFO ="mcla_enterprise_scale_type_info";
	public static final String TABLE_NAME_MCLA_TWO_CAREER_TYPE_INFO ="mcla_two_career_type_info";
	public static final String TABLE_NAME_MCLA_THREE_CAREER_TYPE_INFO ="mcla_three_career_type_info";
	
	//产品用途基表数据
	public static final String PURPOSE_LIST ="purposeBasicData";
	//缴费方式基表数据
	public static final String PAYMENT_MODE_LIST ="paymentModeBasicData";
	//寿险类型基表数据
	public static final String LIFE_INSURANCE_TYPE_LIST ="lifeInsuranceTypeBasicData";
	//保单类型基表数据
	public static final String INSURANCE_TYPE_LIST ="insuranceTypeBasicData";
	//保单状态基表数据
	public static final String INSURANCE_STATUS_LIST ="insuranceStatusBasicData";
	//保险公司基表数据
	public static final String INSURANCE_COMPANY_LIST ="insuranceCompanyBasicData";
	//雇佣类型基表数据
	public static final String EMPLOY_TYPE_LIST ="employTypeBasicData";
	//婚姻状况基表数据
	public static final String MARITAL_STATUS_LIST ="maritalStatusBasicData";
	//教育程度基表数据
	public static final String EDUCATION_LEVEL_LIST ="educationLevelBasicData";
	//居住类型基表数据
	public static final String LIVE_TYPE_LIST ="liveTypeBasicData";
	//省份基表数据
	public static final String PROVINCE_LIST ="provinceBasicData";
	//城市基表数据
	public static final String CITY_LIST ="cityBasicData";
	//地区基表数据
	public static final String REGION_LIST ="regionBasicData";
	//公司类型基表数据
	public static final String COMPANY_TYPE_LIST ="companyTypeBasicData";
	//工作年限类型基表数据
	public static final String WORKTIME_TYPE_LIST ="workTimeTypeBasicData";
	//月收入类型基表数据
	public static final String INCOME_TYPE_LIST ="incomeTypeBasicData";
	public static final String RELATION_LIST ="relationBasicData";
	public static final String RELATION_OTHER_LIST ="relationOtherBasicData";
	public static final String PHONE_CHK_RESULT_LIST ="phoneChkResultBasicData";
	public static final String ENTERPRISE_SCALE_TYPE_LIST ="enterpriseScaleTypeBasicData";
	public static final String THREE_CAREER_TYPE_LIST ="threeCareerTypeBasicData";
	public static final String TWO_CAREER_TYPE_LIST ="twoCareerTypeBasicData";
	
	public static final Integer STATUS_A0=0;//正常
	public static final String SYSTEM_USER="system";//系统
	//贷款进位方式
	public static final Integer  ROUND_HALF_UP= 0;
	public static final Integer  ROUND_UP= 1;
	public static final Integer  ROUND_DOWN= 2;
	/**
	 * 提前结清费用-本金类型:剩余本金
	 */
	public static final String PRINCIAL_TYPE_HAD = "0";
	/**
	 * 提前结清费用-本金类型:贷款本金
	 */
	public static final String PRINCIAL_TYPE_LOAN = "1";
	
	public static final String  AMORT_MONTH_INT_PAY_OFF_END= "800001"; //按月结息,到期还本
	public static final String  AMORT_QUATER_INT_PAY_OFF_END= "800002"; //按季结息,到期还本
	public static final String  AMORT_PAY_OFF_END= "800007";//利随本清
	public static final String  AMORT_EQUAL_PI= "800004"; //按月等额本息
	public static final String  AMORT_EQUAL_P= "800005"; //按月等额本金
	public static final String  AMORT_INSTALLMENT= "800006";//分期付款
	public static final String  AMORT_ANY= "A007"; //随借随还
	
	public static final int BIGDECIMAL_SCALE = 10;//除法计算中，保留小数位数
	
	//合同状态
	public static final Integer CONTRACT_ACCOUNT_STATUS_NORMAL=0;//正常
	public static final Integer CONTRACT_ACCOUNT_STATUS_DELQ=1;//逾期
	public static final Integer CONTRACT_ACCOUNT_STATUS_COMPLETE=2;//完成
	public static final Integer CONTRACT_ACCOUNT_STATUS_MIDDLE=4;//提前结清分期冲账中间状态
	public static final String CONTRACT_ACCOUNT_STATUS_PRE_TERMINATION="A3"; //提前结清
	public static final String CONTRACT_ACCOUNT_STATUS_ASSIGNMENT="A9";//已转让-用于债权转让
	public static final String CONTRACT_ACCOUNT_STATUS_UNSIGNED="P0";//待签
	public static final String CONTRACT_ACCOUNT_STATUS_CANCEL="C9";//撤销
	
	public static final Integer FORCE_COLLECTION_FLAG_A0 = 0;//正常
	public static final Integer FORCE_COLLECTION_FLAG_A1 = 1;//强制入催
	//还款计划状态
	public static final Integer PAYMENT_PLAN_STATUS_NORMAL=0;//正常
	public static final String PAYMENT_PLAN_STATUS_DELQ="1";//逾期
	public static final Integer PAYMENT_PLAN_STATUS_COMPLETE=2;//完成
	public static final String PAYMENT_PLAN_STATUS_PRE_TERMINATION="3";//提前结清
	
	
	public static final String FEE_TYPE_FIXED="0";
	public static final String FEE_TYPE_VAR="1";
	public static final String FEE_TYPE_TIER="2";
	public static final String FEE_TIER_AMOUNT="0";
	public static final String FEE_TIER_PERCENTAGE="1";
	public static final String CHARGE_METHOD_ONE_TIME_CHARGE="0";
	public static final Integer YEAR_360=360;
	public static final Integer YEAR_365=365;
	public static final Integer YEAR_366=366;
	
	
	//产品计算周期
	public static final String TENOR_TYPE_DAYS="A000"; //天
	public static final String TENOR_TYPE_ONE_WEEK="A001"; //周
	public static final String TENOR_TYPE_TWO_WEEK="A002"; //双周
	public static final String TENOR_TYPE_HAFT_MONTH="A003"; //半月
	public static final String TENOR_TYPE_MONTH="A004"; //月
	public static final String TENOR_TYPE_SEASON="A005"; //按季
	
	
	//大桔上传状态
	public static final String DJ_MSG_SUCCESS_STATUS="000000";
	
	//附件-产品 映射类别
	public static final String ATMT_TYPE_PRODUCT="ATMT_TYPE_PRODUCT";
	
	public static final String  QA_BX_COMPANY_CODE="qabx";
	
	public static final String  QA_BX_COMPANY_NAME="祁安保险";
	
	/**审核通过*/
	public static final String  PROCESS_RESULT_OK = "OK";
	/**审核退回*/
	public static final String  PROCESS_RESULT_RETURN = "RETURN";
	/**审核拒绝*/
	public static final String  PROCESS_RESULT_REFUSE = "REFUSE";
	/**审核退回到前端*/
	public static final String PROCESS_RESULT_RETURN_APP = "RETURN_APP";
	/**转向自己*/
	public static final String PROCESS_RESULT_GO_SELF = "GO_SELF";
	/**转件*/
	public static final String PROCESS_RESULT_TRANSFER = "TRANSFER" ;
	//以下配置特殊流程
	/**审批转向征信前置特殊配置*/
	public static final String PROCESS_RESULT_GO_BEFORE = "GO_BEFORE" ;
	
	/**审批完成走审计*/
	public static final String PROCESS_RESULT_SKIP = "SKIP" ;
	
	public static final String APPROVE_RST_AR = "AR";//批核结果：AR 成功，RJ拒绝',
	public static final String APPROVE_RST_RJ = "RJ";//批核结果：AR 成功，RJ拒绝',
	
	//提前结清余额收取方式
	public static final String BALANCE_CHARGE_METHOD_DEFAULT="A9"; //收手续费+本期费用
	public static final String BALANCE_CHARGE_METHOD_INST="A0"; //收手续费+本期费用+剩余利息
	public static final String BALANCE_CHARGE_METHOD_INST_FEE2="A1"; //收手续费+本期费用+剩余利息+剩余管理费
	
	public static final String FUND_SOURCE_LIST_KEY="FUND_SOURCE_LIST_KEY";//资金源redis key
	public static final String PRODUCT_INFO_LIST_KEY="PRODUCT_INFO_LIST_KEY";//产品级联redis key
	public static final String CAHNNEL_ALL_INFO_LIST_KEY="CAHNNEL_ALL_INFO_LIST_KEY";//产品级联redis key
	public static final String PRODUCT_TYPE_LIST_KEY="PRODUCT_TYPE_LIST_KEY";//产品大类redis key
	
	public static final String MCPT_CUSTOMER_TYPE_LIST_KEY="MCPT_CUSTOMER_TYPE_LIST_KEY";//认定客户类型参数redis key
	
	public static final String PAY_STYLE_LIST_KEY="PAY_STYLE_LIST_KEY";//还款方式redis key
	
	public static final String OVERDUE_COLLECT_ACTION_CODE="OVERDUE_COLLECT_ACTION_CODE";//行动代码
	
	public static final String OVERDUE_COLLECT_ACTION_RESULT="OVERDUE_COLLECT_ACTION_RESULT";// 行动结果
	
	
	public static final String LOAN_FAIL_F99_FUND="LOAN_FAIL_F99_FUND";// 放款失败直接修改AC表
	
	
	public static final String RELATION_SHIP="RELATION_SHIP";//亲属关系信息
    /**
     * 代扣返回码-交易处理中
     */
    public static final String PROCESSING = "1";
    /**
     * 代扣返回码-成功
     */
    public static final String SUCCESS = "0";
    /**
     * 代扣返回码-失败
     */
    public static final String FAILED = "-1";
    /**
     * 代扣返回码-超时
     */
    public static final String TIMEOUT = "-2";

	
	public static final String BF_WITHHOLD_CHANNEL_CODE="0004";//宝付代扣渠道code
	public static final String KFT_WITHHOLD_CHANNEL_CODE="0003";//快付通代扣渠道code
	
	
	public static final String AUTO_DF_FUNDS="AUTO_DF_FUNDS";//走自动放款的资金源
	
	
	public static final String DITCH_CHANNEL = "BOMN" ;//征信渠道号
	
	public static final String DEFAULT_IP_ADDRESS = "127.0.0.1" ;//默认的IP地址
	
	public static final String UNKNOWN = "unknown";//从nginx自定义配置获取的X-real-ip
	
	public static final String TOKEN = "l-token";//token标识
	
	public static final String LOGINUUID = "l-loginUUid";//登录唯一标识
	
	public static final String PROCESS_STATUS_LIST = "PROCESS_STATUS_LIST";//流程状态

	/**
	 * 文件上传类型路径
	 * basepath配置在application.properties
	 * by wangliang
	 */
	public static final String UPLOAD_FILE_PATH_PDF="pdf";
	public static final String UPLOAD_FILE_PATH_EXL="excel";
	public static final String  UPLOAD_FILE_PATH_TXT="txt";
	public static final String  UPLOAD_FILE_PATH_ZIP="zip";
	
	
	public static final String INTELLIGENT_COLLECT_COMPANY = "INTELLIGENT_COLLECT_COMPANY";//催收公司常量
	
	public static final String SYSTEM_SUPER_CODE = "super";// 系统最大管理员（隐藏）
}
